package com.itfreer.special.report;

import java.io.Serializable;
import com.itfreer.form.api.entity.EntityBase;
import com.itfreer.form.api.reflect.DictionaryField;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Transient;

/**
 * 定义报表实体
 */
@Entity(name = "special_report_data")
public class SpecialReportEntity extends EntityBase implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键ID
	 */
	@Id
	@Column(name = "id", length = 50, nullable = true)
	private String id;
	
	
	/**
	 * 所属栏目ID
	 */
	@Column(name = "s_column_id", length = 50, nullable = true)
	private String columnid;
	
	
	/**
	 * 月份
	 */
	@Column(name = "i_month", nullable = true)
	@DictionaryField(dictionaryName = "report_month", toFieldName = "monthName")
	private String month;
	
	@Transient
	private String monthName;
	
	/**
	 * 名称
	 */
	@Column(name = "s_name", length = 50, nullable = true)
	private String name;
	
	
	/**
	 * 顺序
	 */
	@Column(name = "i_order", nullable = true)
	private Integer order;
	
	/**
	 * 数据表名
	 */
	@Column(name = "s_table_name", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "report_dictionary", toFieldName = "tablenameName")
	private String tablename;
	
	@Transient
	private String tablenameName;
	
	 /**
	 * 有效
	 */
	@Column(name = "b_valid", nullable = true)
	private boolean valid;
	/**
	 * 年份
	 */
	@Column(name = "i_year", nullable = true)
	private Integer year;
	
	/**
	 * 父节点ID
	 */
	@Column(name = "s_pid", length = 50, nullable = true)
	private String pid;
	
	
	/**
	 * 最后级别
	 */
	@Column(name = "b_leaf", nullable = true)
	private boolean leaf;
	
	/**
	 * 类型
	 */
	@Column(name = "report_type", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "report_type", toFieldName = "reporttypeName")
	private String reporttype;
	
	@Transient
	private String reporttypeName;
	





	/**
	 * 主键ID
	 */
	public String getId() {
		return id;
	}

	/**
	 * 主键ID
	 */
	public void setId(String value) {
		this.id = value;
	}
	
	
	/**
	 * 所属栏目ID
	 */
	public String getColumnid() {
		return columnid;
	}

	/**
	 * 所属栏目ID
	 */
	public void setColumnid(String value) {
		this.columnid = value;
	}
	
	
	/**
	 * 月份
	 */
	public String getMonth() {
		return month;
	}

	/**
	 * 月份
	 */
	public void setMonth(String value) {
		this.month = value;
	}
	/**
	 * 名称
	 */
	public String getName() {
		return name;
	}

	/**
	 * 名称
	 */
	public void setName(String value) {
		this.name = value;
	}
	
	
	/**
	 * 顺序
	 */
	public Integer getOrder() {
		return order;
	}

	/**
	 * 顺序
	 */
	public void setOrder(Integer value) {
		this.order = value;
	}
	/**
	 * 数据表名
	 */
	public String getTablename() {
		return tablename;
	}

	/**
	 * 数据表名
	 */
	public void setTablename(String value) {
		this.tablename = value;
	}
	
	/**
	 * 数据表名
	 */
	@Transient
	public String getTablenameName() {
		return tablenameName;
	}

	/**
	 * 数据表名
	 */
	public void setTablenameName(String value) {
		this.tablenameName = value;
	}
	
	/**
	 * 有效
	 */
	public boolean getValid() {
		return valid;
	}

	/**
	 * 有效
	 */
	public void setValid(boolean value) {
		this.valid = value;
	}
	/**
	 * 年份
	 */
	public Integer getYear() {
		return year;
	}

	/**
	 * 年份
	 */
	public void setYear(Integer value) {
		this.year = value;
	}
	/**
	 * 父节点ID
	 */
	public String getPid() {
		return pid;
	}

	/**
	 * 父节点ID
	 */
	public void setPid(String value) {
		this.pid = value;
	}
	
	
	/**
	 * 最后级别
	 */
	public boolean getLeaf() {
		return leaf;
	}

	/**
	 * 最后级别
	 */
	public void setLeaf(boolean value) {
		this.leaf = value;
	}
	/**
	 * 类型
	 */
	public String getReporttype() {
		return reporttype;
	}

	/**
	 * 类型
	 */
	public void setReporttype(String value) {
		this.reporttype = value;
	}
	
	/**
	 * 类型
	 */
	@Transient
	public String getReporttypeName() {
		return reporttypeName;
	}

	/**
	 * 类型
	 */
	public void setReporttypeName(String value) {
		this.reporttypeName = value;
	}

	/**
	 * 月份
	 */
	@Transient
	public String getMonthName() {
		return monthName;
	}

	/**
	 * 月份
	 */
	public void setMonthName(String monthName) {
		this.monthName = monthName;
	}
	




}
